import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";

export class GetOtherHalfInfoBySysIDDTO{
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;
}

export class OtherHalfInfoBySysIDDTO {
  @ApiPropertyOptional({ description: 'ID' })
  readonly SysID: number;
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;
  @ApiProperty({ description: '另一半ID' })
  readonly OtherHalfSysID: number;
  @ApiProperty({ description: '用户头像' })
  readonly UserAvatarUrl: string;
  @ApiProperty({ description: '另一半头像' })
  readonly OtherHalfAvatarUrl: string;
  @ApiProperty({ description: '是否单身' })
  readonly IsSingle: number;
  @ApiProperty({ description: '情侣币' })
  readonly CouplesMoney: number;
  @ApiProperty({ description: '连续签到天数' })
  readonly ContinueSign: number;
}

export class GetUserOpenIDDTO{
  @ApiProperty({ description: 'JsCode' })
  readonly JsCode: string;
}

export class SendRegisterSmsCodeDTO{
  @ApiProperty({ description: '手机号' })
  readonly Phone: string;
}

export class RegisterUserDTO{
  @ApiProperty({ description: 'OpenID' })
  readonly OpenID: string;

  @ApiProperty({ description: '昵称' })
  readonly NickName: string;

  @ApiProperty({ description: '生日' })
  readonly Birthday: string;

  @ApiProperty({ description: '阴历生日' })
  readonly LunarBirthday: string;

  @ApiProperty({ description: '阴历数字生日' })
  readonly LunarNumBirthday: string;

  @ApiProperty({ description: '阳历生日' })
  readonly SolarBirthday: string;

  @ApiProperty({ description: '0阴历1阳历' })
  readonly LunarOrSolar: number;

  @ApiProperty({ description: '手机号' })
  readonly Mobile: string;

  @ApiProperty({ description: '验证码' })
  readonly SmsCode: string;

  @ApiProperty({ description: '性别1男2女' })
  readonly Gender: number;

  @ApiProperty({ description: '星座' })
  readonly Horoscope: string;

  @ApiProperty({ description: '头像Url' })
  readonly AvatarUrl: string;
}

export class UploadAvatarDTO{
  @ApiProperty({ description: '头像文件' })
  readonly AvatarFile: string;
}

export class UserSignInDTO{
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;
}

export class GetUserLimitDTO{
  @ApiProperty({ description: '权限名称' })
  readonly LimitName: string;
}

export class GetUserHoroscopeDTO{
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;
}

export class SubmitFeedBackDTO{
  @ApiPropertyOptional({ description: '用户ID' })
  readonly UserSysID: number;

  @ApiProperty({ description: '反馈内容' })
  readonly Content: string;

  @ApiProperty({ description: '图片内容' })
  readonly ImageData: string[];
}

export class GetUserLoveCodeDTO{
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;
}

export class GetUserInfoByLoveCodeDTO{
  @ApiProperty({ description: '恋爱密码' })
  readonly LoveCode: string;
}

export class BindUserOtherHalfDTO{
  @ApiProperty({ description: '用户ID' })
  readonly UserSysID: number;

  @ApiProperty({ description: '另一半用户ID' })
  readonly OtherHalfUSerID: number;

  @ApiProperty({ description: '恋爱日期' })
  readonly LoveDate: string;
}

export class HandleUserDTO{
  @ApiProperty({ description: 'ID' })
  readonly UserSysID: number;

  @ApiProperty({ description: '昵称' })
  readonly NickName: string;

  @ApiProperty({ description: '生日' })
  readonly Birthday: string;

  @ApiProperty({ description: '阴历生日' })
  readonly LunarBirthday: string;

  @ApiProperty({ description: '阴历数字生日' })
  readonly LunarNumBirthday: string;

  @ApiProperty({ description: '阳历生日' })
  readonly SolarBirthday: string;

  @ApiProperty({ description: '0阴历1阳历' })
  readonly LunarOrSolar: number;

  @ApiProperty({ description: '手机号' })
  readonly Mobile: string;

  @ApiProperty({ description: '验证码' })
  readonly SmsCode: string;

  @ApiProperty({ description: '性别1男2女' })
  readonly Gender: number;

  @ApiProperty({ description: '星座' })
  readonly Horoscope: string;

  @ApiProperty({ description: '头像Url' })
  readonly AvatarUrl: string;
}

export class GetUserInfoBySysIDDTO{
  @ApiProperty({ description: 'ID' })
  readonly UserSysID: number;
}
